package cn.tedu.oop;
/**本类用于测试静态代码块*/
public class TestStatic3 {
    public static void main(String[] args) {
        Person p = new Person();
        p.play();
        Person p2 = new Person();
        p2.play();
    }
}
class Person{
    /**静态代码块 : static{}
     * 位置:类里方法外
     * 执行时机:静态代码块也属于静态资源，随着类的加载而加载，优先于对象加载
     * 并且只会加载一次
     * 作用:用于加载那些需要第一时间就加载，并且只加载一次的资源，常用来初始化*/
    static {
        System.out.println("静态代码块被调用~");
    }



    {
        System.out.println("构造代码块被调用");
    }
    public Person(){
        System.out.println("无参代码块被调用");
    }
    public void play(){
        System.out.println("普通代码块被调用");
        {
            System.out.println("局部代码块被调用");
        }
    }
}
